package cn.cttic.base.api.domain.bo;

import cn.cttic.base.api.domain.BaseRegion;
import cn.cttic.common.mybatis.core.domain.BaseEntity;
import cn.cttic.common.core.validate.AddGroup;
import cn.cttic.common.core.validate.EditGroup;
import io.github.linpeilie.annotations.AutoMapper;
import lombok.Data;
import lombok.EqualsAndHashCode;
import jakarta.validation.constraints.*;

/**
 * 城市地区业务对象 base_region
 *
 * @author Times.Studio
 * @date 2024-09-21
 */
@Data
@EqualsAndHashCode(callSuper = true)
@AutoMapper(target = BaseRegion.class, reverseConvertGenerate = false)
public class BaseRegionBo extends BaseEntity {

    /**
     * 标识
     */
    @NotBlank(message = "标识不能为空", groups = { EditGroup.class })
    private String id;

    /**
     * 上级标识
     */
    @NotBlank(message = "上级标识不能为空", groups = { AddGroup.class, EditGroup.class })
    private String pid;

    /**
     * 区域名称
     */
    @NotBlank(message = "区域名称不能为空", groups = { AddGroup.class, EditGroup.class })
    private String regionName;

    /**
     * 区域拼音
     */
    @NotBlank(message = "区域拼音不能为空", groups = { AddGroup.class, EditGroup.class })
    private String regionPinyin;

    /**
     * 级别
     */
    @NotNull(message = "级别不能为空", groups = { AddGroup.class, EditGroup.class })
    private Integer level;

    /**
     * 是否热门城市
     */
    @NotBlank(message = "是否热门城市不能为空", groups = { AddGroup.class, EditGroup.class })
    private String hotFlag;


}
